package com.extension.company.presenter.home;

import android.content.Context;
import android.util.Log;

import com.extension.company.common.mvp.BasePresenter;
import com.extension.company.contract.home.SearchContract;
import com.extension.company.model.home.SearchMode;

import java.util.List;

/**
 * 作者：zwk
 * 时间：on 2019/3/18 13:55
 * 功能：搜索的p层
 */
public class SearchPresenter extends BasePresenter<SearchContract.Mode, SearchContract.View> {
	@Override
	public SearchContract.Mode createModel() {
		return new SearchMode();
	}

	@Override
	protected void onViewDestroy() {

	}

	/**
	 * 提供给view的方法，查询数据库中所有的数据
	 */
	public void getAllDbList(Context context) {
		model.requestSearchData(context, new SearchContract.searchAllCallBack() {

			@Override
			public <T> void searchAllCallBackSuccess(List<T> t) {
				getView().searchAllDataSuccess(t);

			}

			@Override
			public void searchAllFaileBackFaile() {

			}
		});

	}

	/**
	 * 提供给view调用的方法
	 *
	 * @param context   上下文
	 * @param searchStr 搜索的内容
	 */
	public void insertDb(Context context, String searchStr) {
		model.insertSearchData(context, searchStr, new SearchContract.insertCallBack() {
			@Override
			public void insertCallBackSuccess(boolean isSuccess) {
				getView().insertDataSuccess();
			}

			@Override
			public void insertCallBackFaile(String msg) {

			}
		});
	}

	/**
	 * 删除所有的搜索记录
	 *
	 * @param context
	 */
	public void deleteAll(Context context) {
		model.deleteAll(context, new SearchContract.deleteaAllCallBack() {

			@Override
			public void deleteAllCallBackSuccess(boolean isTrue) {
				if (isTrue){
					getView().deleteAllDataSuccess(true);
				}
			}

			@Override
			public void deleteAllCallBackFaile(boolean isTrue) {
				Log.d("zwk","清空历史记录成功");
			}
		});

	}

}
